/**
 * @widoc $.getZhStrLength
 * @namespace aux
 * @des 计算包含中英文字符混合的字符串的长度
 * @type function
 * @param {string} str 要计算长度的字符串
 * @return {int} int 返回计算后的长度
 */
$.getZhStrLength=function(str){
    var totalLength = 0;
    if(!!str) {
        var list = str.split('');// 拆分字符
        for(var i = 0; i < list.length; i++) {
            var s = list[i];
            if (s.match(/[\u0000-\u00ff]/g)) {//半角
                totalLength += 1;
            } else if (s.match(/[\u4e00-\u9fa5]/g)) {//中文
                totalLength += 2;
            } else if (s.match(/[\uff00-\uffff]/g)) {//全角
                totalLength += 2;
            }
        }
    }
    return totalLength;
};
/**
 * @widoc $.subByteString
 * @namespace aux
 * @des 根据字节长度截断字符串
 * @type function
 * @param {string} str 原始字符串
 * @param {int} length 截断的长度（实际，字符为1，中文为2）
 * @return {string} 截断后的字符串
 */
$.subByteString = function(str, length){
    if(!str) return;
    for(var i = 0, len = str.length, byteLen = 0; i < len; i++){
        byteLen += str.charCodeAt(i) > 127 ? 2 : 1;
        if(byteLen > length) break;
    }
    return str.substring(0, i) + (i != len ? '..' : '');
};